Skip to content

Rollup of 10 pull requests#154466

Merged
rust-bors[bot] merged 27 commits intorust-lang:mainfrom
fmease:rollup-RqOocPd
Mar 28, 2026
Merged

Rollup of 10 pull requests#154466
rust-bors[bot] merged 27 commits intorust-lang:mainfrom
fmease:rollup-RqOocPd

Conversation

@fmease
Copy link
Copy Markdown
Member

@fmease fmease commented Mar 27, 2026

Successful merges:

Failed merges:

r? @ghost

Create a similar rollup

homersimpsons and others added 27 commits March 7, 2026 09:45
Tests that dead code warnings work correctly inside const _ blocks.
Issue was already fixed, adding regression test as requested.
This commit turns "Actual" into "Expected" for the following problem:

Steps:
1. Do some quick and experimental local code changes in the compiler code.
2. Run `./x build`.
3. Observe `error: warnings are denied by `build.warnings` configuration`.
4. Decide to not care and want to allow warnings.
5. Search for `build.warnings` in **bootstrap.example.toml**

Actual:
No hits. You get frustrated because didn't learn how to allow warnings.

Expected:
You get a hit and can easily see how to allow warnings.
Fixes a rustfmt bug for `#![feature(fn_delegation)]`
…arser, r=clubby789

Unstable book options parser

Parses the `options!` macro in `compiler/rustc_session/src/options.rs` directly to extract the unstable (-Z) compiler flag names and descriptions to generate documentation for the unstable book.

I took notice from the previous attempt which ran `rustc -Zhelp` and parsed the output and used this approach that reads the source directly.

Used claude for the tedious char by char parsing parts but verified the code, I hope that's ok!
…al, r=petrochenkov

Use LocalDefId for more tcx method calls

r? @petrochenkov

Might bring perf improvements
…omment-bidi-help, r=JohnTitor

Improve doc comment unicode guidance

Fixes rust-lang#153096

This PR does not suggest HTML bidi markup, because doc comments are still Rust source first, not only rendered rustdoc output. HTML only helps in the rendered documentation rather than making them explicit in source.
…t-unrelated-leaf, r=JohnTitor

Avoid ICE in explicit reference cast suggestion for unrelated leaf pr…

Fixes rust-lang#154403

The explicit reference cast suggestion in was enabled based on `main_trait_predicate` being `From`/`TryFrom`, but it then extracted the source type from `leaf_trait_predicate`.

That is only valid when the leaf obligation is also part of the `From`/`TryFrom` conversion family.
…alueFormat-mips, r=marcoieni

Fix LegacyKeyValueFormat report from docker build: mips

Part of rust-lang#152305

r? @marcoieni
…ngs, r=fmease

Add test for issue rust-lang#101532: dead code warnings in const _

Closes rust-lang#101532

Adds a test for dead code warnings in `const _`.

This was already fixed, just adding coverage to avoid regressions.
…oc-json-emit-conflict, r=aDotInTheVoid

Rustdoc rejects html emits with json output

Fixes rust-lang#154395
…ic-targets, r=jieyouxu

bootstrap: `-Zjson-target-spec` for synthetic targets

Fixes rust-lang#154340

Synthetic targets for mir-opt tests build a standard library using a `.json` target, which now requires `-Zjson-target-spec`

r? @jieyouxu
bootstrap.example.toml: Hint how to allow `build.warnings`

This commit turns **Actual** into **Expected** for the following problem:

### Steps
1. Do some quick and experimental local code changes in the compiler code.
2. Run `./x build`.
3. Observe failed build with _"error: warnings are denied by `build.warnings` configuration"_.
4. Decide to not care and want to allow warnings.
5. Search for `build.warnings` in **bootstrap.example.toml**.

### Actual
No hits. You get frustrated because didn't learn how to allow warnings. (The reason `build.warnings` is not mentioned in **bootstrap.example.toml** is of course because it is an unstable cargo [feature](https://doc.rust-lang.org/cargo/reference/unstable.html#buildwarnings) and not controlled by bootstrap, but you don't know that yet.)

### Expected
You get a hit and can easily see how to allow warnings.
fix: [rustfmt] prevent panic when rewritng associated item delegations

Tracking issue: rust-lang#118212

rustfmt issue: rust-lang/rustfmt#6513

Fixes a rustfmt bug for `#![feature(fn_delegation)]`
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Mar 27, 2026
@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc labels Mar 27, 2026
@fmease
Copy link
Copy Markdown
Member Author

fmease commented Mar 27, 2026

@bors r+ p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Mar 27, 2026

📌 Commit 59d8609 has been approved by fmease

It is now in the queue for this repository.

@rust-bors rust-bors bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 27, 2026
@rust-bors

This comment has been minimized.

rust-bors bot pushed a commit that referenced this pull request Mar 27, 2026
Rollup of 10 pull requests

Successful merges:

 - #154070 (Unstable book options parser)
 - #154371 (Use LocalDefId for more tcx method calls)
 - #154405 (Improve doc comment unicode guidance)
 - #154431 (Avoid ICE in explicit reference cast suggestion for unrelated leaf pr…)
 - #153528 (Fix LegacyKeyValueFormat report from docker build: mips)
 - #154246 (Add test for issue #101532: dead code warnings in const _)
 - #154421 (Rustdoc rejects html emits with json output)
 - #154428 (bootstrap: `-Zjson-target-spec` for synthetic targets)
 - #154437 (bootstrap.example.toml: Hint how to allow `build.warnings`)
 - #154454 (fix: [rustfmt] prevent panic when rewritng associated item delegations)

Failed merges:

 - #154450 (Use the normal arg-parsing machinery for `-Zassert-incr-state`)
@fmease
Copy link
Copy Markdown
Member Author

fmease commented Mar 27, 2026

Very likely stuck, too :(; pesky x86_64-gnu-aux

@fmease
Copy link
Copy Markdown
Member Author

fmease commented Mar 27, 2026

@bors cancel

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Mar 27, 2026

Auto build was cancelled. Cancelled workflows:

The next pull request likely to be tested is #154466.

@rust-bors

This comment has been minimized.

@rust-bors rust-bors bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Mar 28, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors bot commented Mar 28, 2026

☀️ Test successful - CI
Approved by: fmease
Duration: 3h 10m 6s
Pushing e161368 to main...

@rust-bors rust-bors bot merged commit e161368 into rust-lang:main Mar 28, 2026
12 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 28, 2026
@github-actions
Copy link
Copy Markdown
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing fda6d37 (parent) -> e161368 (this PR)

Test differences

Show 43 test diffs

Stage 1

  • [ui] tests/rustdoc-ui/output-format-json-emit-html.rs#html_non_static: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/output-format-json-emit-html.rs#html_static: [missing] -> pass (J0)
  • [ui] tests/rustdoc-ui/show-coverage-json-emit-html-non-static.rs: [missing] -> pass (J0)
  • [ui] tests/ui/lint/dead-code/const-underscore-issue-101532.rs: [missing] -> pass (J0)
  • [ui] tests/ui/parser/unicode-control-doc-comment-issue-153096.rs: [missing] -> pass (J0)
  • [ui] tests/ui/traits/explicit-reference-cast-unrelated-leaf.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/rustdoc-ui/output-format-json-emit-html.rs#html_non_static: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/output-format-json-emit-html.rs#html_static: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/show-coverage-json-emit-html-non-static.rs: [missing] -> pass (J1)
  • [ui] tests/ui/lint/dead-code/const-underscore-issue-101532.rs: [missing] -> pass (J2)
  • [ui] tests/ui/parser/unicode-control-doc-comment-issue-153096.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/explicit-reference-cast-unrelated-leaf.rs: [missing] -> pass (J2)
  • [run-make] tests/run-make/compressed-debuginfo-zstd: ignore (ignored if LLVM wasn't build with zstd for ELF section compression or LLVM is not the default codegen backend) -> pass (J3)

Additionally, 30 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard e1613686e0efc80a1a18b1263625450a8de3fb04 --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-rust-for-linux: 1h 5m -> 44m 59s (-31.8%)
  2. x86_64-gnu-tools: 1h 15m -> 52m 17s (-30.9%)
  3. pr-check-2: 52m 9s -> 38m 25s (-26.3%)
  4. pr-check-1: 37m 54s -> 28m 14s (-25.5%)
  5. test-various: 2h 25m -> 1h 53m (-22.1%)
  6. x86_64-gnu-nopt: 2h 47m -> 2h 10m (-21.9%)
  7. aarch64-apple: 3h 8m -> 2h 27m (-21.7%)
  8. x86_64-gnu-gcc: 1h 20m -> 1h 3m (-21.4%)
  9. x86_64-gnu-miri: 1h 47m -> 1h 26m (-19.6%)
  10. armhf-gnu: 1h 43m -> 1h 23m (-19.1%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#153528 Fix LegacyKeyValueFormat report from docker build: mips c2ebbf443a2dd1eadd1c921d3e77809226f89494 (link)
#154070 Unstable book options parser 89c3f3963b9eb2475b3941068db3e541962078f6 (link)
#154246 Add test for issue #101532: dead code warnings in const _ 4eceb52207ceb48c022df660afd8f720505cc073 (link)
#154371 Use LocalDefId for more tcx method calls 12570d7c78566074b4014eb5a48fdf590b39c32b (link)
#154405 Improve doc comment unicode guidance 454d947aa3c4c119a34705a062a3d39f6cde0544 (link)
#154421 Rustdoc rejects html emits with json output 5b1e299a6b0b882d1d1e06fbc9c35dc450b113c9 (link)
#154428 bootstrap: -Zjson-target-spec for synthetic targets 66a44d81a28d699fbc47ec4df8507160ef082b2e (link)
#154431 Avoid ICE in explicit reference cast suggestion for unrelat… 6a9a872920be7469854b0411e2970dac7003fd0e (link)
#154437 bootstrap.example.toml: Hint how to allow build.warnings 6dbeb3421106dd7d2372fd5f8ef21be7a61ce45e (link)
#154454 fix: [rustfmt] prevent panic when rewritng associated item … b505246f68c11a4cd440b8ad164ac1fea989c77a (link)

previous master: fda6d37bb8

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (e161368): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -5.9%, secondary 6.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.2% [6.2%, 6.2%] 1
Improvements ✅
(primary)
-5.9% [-9.6%, -2.2%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -5.9% [-9.6%, -2.2%] 2

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 485.109s -> 484.178s (-0.19%)
Artifact size: 395.05 MiB -> 395.05 MiB (-0.00%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.